package cn.kgc.springday04.entity;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * @author 课工场
 * @date 2023/10/9
 * @description   通过spring框架中提供的注解实现类的托管
 *    @Component    被该注解修饰类  spring容器会创建对象  保存对象时使用类名首字母的小写作为id  student
 *    @Component("stu")   使用该注解时 设置了value属性值 则在保存对象时使用该值作为id


     @Component      通用注解
     @Repository    持久层   xxxDaoImpl    不常用
     @Service       业务层   xxxServiceImpl
     @Controller    控制层   xxxController

 @Autowired   完成属性赋值的规则
     该注解 在完成属性自动注入时 可以根据类型注入 也可以根据属性名字注入
     @Qualifier("tea")
 @Resource  完成属性赋值的规则
     该注解 在完成属性自动注入时 可以根据类型注入 也可以根据属性名字注入
     @Resource(name = "tea")
 */
@Data
@Component("stu")
//@Controller("stu")
public class Student {

    @Value("tom")
    private String name;

    @Value("30")
    private Integer age;

//    @Autowired
//    @Qualifier("tea")  // 指定需要注入的属性值的id
//    private Teacher teacher;

    @Resource(name = "tea")
    private Teacher teacher;

}
